import request from '@/utils/request'

/**
 * 查询参数配置列表
 * @param {Object} query - 查询参数对象
 * @returns {Promise} 返回参数配置列表数据的Promise对象
 */
export function listConfig(query) {
  return request({
    url: '/system/config/list',
    method: 'get',
    params: query
  })
}

/**
 * 根据ID查询参数配置详情
 * @param {string|number} configId - 参数配置ID
 * @returns {Promise} 返回参数配置详细信息的Promise对象
 */
export function getConfig(configId) {
  return request({
    url: '/system/config/' + configId,
    method: 'get'
  })
}

/**
 * 根据参数键名查询参数值
 * @param {string} configKey - 参数键名
 * @returns {Promise} 返回参数键对应值的Promise对象
 */
export function getConfigKey(configKey) {
  return request({
    url: '/system/config/configKey/' + configKey,
    method: 'get'
  })
}

/**
 * 新增参数配置
 * @param {Object} data - 参数配置数据对象
 * @returns {Promise} 返回新增结果的Promise对象
 */
export function addConfig(data) {
  return request({
    url: '/system/config',
    method: 'post',
    data: data
  })
}

/**
 * 修改参数配置
 * @param {Object} data - 参数配置数据对象
 * @returns {Promise} 返回修改结果的Promise对象
 */
export function updateConfig(data) {
  return request({
    url: '/system/config',
    method: 'put',
    data: data
  })
}

/**
 * 删除参数配置
 * @param {string|number} configId - 参数配置ID
 * @returns {Promise} 返回删除结果的Promise对象
 */
export function delConfig(configId) {
  return request({
    url: '/system/config/' + configId,
    method: 'delete'
  })
}

/**
 * 刷新参数缓存
 * @returns {Promise} 返回刷新缓存结果的Promise对象
 */
export function refreshCache() {
  return request({
    url: '/system/config/refreshCache',
    method: 'delete'
  })
}

